package com.tjmc.recruit.finance.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.tjmc.recruit.finance.api.enums.UsageTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 充值记录表
 *
 * @author recruit
 * @date 2024-11-25 14:17:50
 */
@Data
@TableName("transaction_records")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "充值记录表")
public class TransactionRecordsEntity extends Model<TransactionRecordsEntity> {


	/**
	* 交易 ID，主键
	*/
    @TableId
    @Schema(description="交易 ID，主键")
    private String payOrderId;
 
	/**
	* transactionId
	*/
    @Schema(description="transactionId")
    private String transactionId;

	/**
	* 关联的 E币账户 ID
	*/
    @Schema(description="关联的 E币账户 ID")
    private Long accountId;

	/**
	* 企业 ID
	*/
    @Schema(description="企业 ID")
    private Long companyId;

	/**
	* 交易类型:E币、会员
	*/
    @Schema(description="交易类型:E币、会员")
    private UsageTypeEnum transactionType;

	/**
	* 支付方式：NATIVE(网页)、JSAPI(小程序)
	*/
    @Schema(description="支付方式：NATIVE(网页)、JSAPI(小程序)")
    private String payWay;

	/**
	* 商户ID
	*/
    @Schema(description="商户ID")
    private String mchId;
	/**
	 * app ID
	 */
	@Schema(description="app ID")
	private String appId;

	/**
	* 微信openID
	*/
    @Schema(description="微信openID")
    private String wxOpenId;

	/**
	* 支付宝openID
	*/
    @Schema(description="支付宝openID")
    private String aliOpenId;

	/**
	* 交易金额-分
	*/
    @Schema(description="交易金额-分")
    private Long amountFen;

	/**
	* 交易金额
	*/
    @Schema(description="交易金额-元")
    private BigDecimal amount;

	/**
	* 支付状态
	*/
    @Schema(description="支付状态")
    private String status;

	/**
	* 支付状态描述
	*/
    @Schema(description="支付状态描述")
    private String statusDescription;

	/**
	* 客户IP
	*/
    @Schema(description="客户IP")
    private String clientIp;

	/**
	* 商品标题
	*/
    @Schema(description="商品标题")
    private String subject;

	/**
	* 商品描述
	*/
    @Schema(description="商品描述")
    private String body;

	/**
	* 支付回调地址
	*/
    @Schema(description="支付回调地址")
    private String notifyUrl;

	/**
	* 支付成功时间
	*/
    @Schema(description="支付成功时间")
    private String successTime;

	/**
	* 交易时间
	*/
    @Schema(description="交易时间")
    private String createdAt;

	/**
	* 修改时间
	*/
    @Schema(description="修改时间")
    private String updateAt;
}
